package com.seckill.repository;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.seckill.entity.Seckill;

/**
 * 
 * 
 * 
 * @author Administrator
 *
 */
public interface SeckillRepository {

	/**
	 * 减库存
	 * @param seckillId
	 * @param KillTime
	 * @return 影响行数
	 */
	int reduceNumber(@Param("seckillId") long seckillId,@Param("killTime")  Date killTime);
	
	/**
	 * 根据ID查询秒杀商品
	 * @param seckillId
	 * @return
	 */
	Seckill queryById(long seckillId);
		
	/**
	 * 根据偏移量查询秒杀商品列表
	 * @param offset
	 * @param limit
	 * @return
	 */
	List<Seckill> queryAll(@Param("offset") int offset, @Param("limit") int limit);
	
	/**
	 * 使用存储过程执行秒杀
	 * @param paramMap
	 * @return
	 */
	
	 void executeSeckillByProcedure(Map<String,Object> paramMap);
}
